This invention relates to an efficient approach for utilization of checksum to support both read and write transactions. More specifically, the invention relates to a filesystem having at least two levels of data replication and utilization of the checksum technique with multiple levels of data replication.
A checksum or hash is a fixed size datum computed from an arbitrary block of digital data for the purpose of detecting accidental errors that may have been introduced during transmission or storage. Every I/O operation on a storage device or network carries with it a small chance of introducing errors into the data that it is reading or writing. Current use of a checksum computation for a write transaction computes the checksum on a defined block size and stores the computed checksum in persistent storage and separate from the subject data. Similarly, current use of a checksum computation for a read transaction includes reading a designated block of data and computes the checksum, reading a stored checksum value, and comparing the computed checksum with the stored checksum value.
The checksum is employed to ensure data integrity. Although there is a convenience factor associated with use of the checksum, there are performance degradation issues associated with current uses of the checksum for both read and write transactions.